package com.woniuxy.common.utils;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

/**
 * @author yellow Doctor
 * @date 2025-03-20
 * @desc 蜗牛创想：www.woniuxy.com
 */
public class TokenUtils {

    /**
     * 通过 传入 key 获取 userId
     * @param key
     * @return
     */
    public static String getUserIdByToken(String key){
        //工具类
        // RequestContextHolder 这个工具类 封装了所有的请求数据 （在整个项目中使用）
        // getRequestAttributes() 获取请求数据  把请求数据封装到 HttpServletRequest 这里
        HttpServletRequest request= ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String token = request.getHeader("token");
        JwtTemplate jwtTemplate = new JwtTemplate();
        Object userId = jwtTemplate.parseToken(token, key);
        System.out.println("userId = " + userId);
        return userId.toString();
    }

    public static String getUserId(){
        //工具类
        // RequestContextHolder 这个工具类 封装了所有的请求数据 （在整个项目中使用）
        // getRequestAttributes() 获取请求数据  把请求数据封装到 HttpServletRequest 这里
        HttpServletRequest request= ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
        String userId = request.getHeader("userId");
        return userId;
    }

}
